15.delete和truncate详解 您所在的位置:网站首页 关于delete和truncate table的说法 15.delete和truncate详解

15.delete和truncate详解

2024-07-09 20:52| 来源: 网络整理| 查看: 265

删除

delete命令

语法:delete from 表名 [where 条件]

-- 删除(避免这样写,会全部删除) DELETE FROM `student` -- 删除指定数据 DELETE FROM `student` WHERE id=1

truncate命令

作用:完全清空一个数据库,表的结构和索引都不会变!

-- 清空student表 TRUNCATE `student`

delete命令和truncate命令的区别

相同点:都能删除数据,不会删除表结构不同点: truncate重新设置自增列,计数器会归零truncate不会影响事务 -- 测试delete命令和truncate命令的区别 CREATE TABLE `test`( `id` INT(10) NOT NULL AUTO_INCREMENT, `coll` VARCHAR(20) NOT NULL, PRIMARY KEY(`id`) )ENGINE=INNODB DEFAULT CHARSET=utf8 INSERT INTO `test`(`coll`) VALUES('1'),('2'),('3') DELETE FROM `test` -- 不会改变表的自增 TRUNCATE TABLE `test` -- 自增会归零

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3GvBNuB3-1618320904346)(E:\JAVA\java学习笔记\MySQL\图片\delete和truncate的区别.png)]

了解即可:delete删除的问题,重启数据库,现象

InnoDB 自增列会从1开始(存在内存当中,断电即失)MySAM 继续从上一个自增量开始(存在文件中,不会丢失)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有